﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NakedObjects;

namespace FUFDomain.Wizard
{
    [NotPersisted]
    public abstract class AbstractScreenWizard
    {        
        public virtual int Id { get; set; }


        [Hidden]
        public virtual AbstractWizard Wizard { set; get; }

        [Hidden]
        public virtual Object ObjNext { set; get; }

        [Hidden]
        public virtual Object ObjBack { set; get; }

        [Hidden]
        public virtual Object ObjCancel { set; get; }

        public virtual Object Cancel()
        {
            ActionCancel();
            return this.ObjCancel;
        }
        
        public virtual Object Next()
        {
            ActionNext();
            return this.ObjNext;
        }

        public virtual Object Back() {
            ActionBack();
            return this.ObjBack;
        }

        [Hidden]
        public abstract void ActionCancel();
        [Hidden]
        public abstract void ActionNext();
        [Hidden]
        public abstract void ActionBack();

    }
}
